package com.ruoyi.develop.goodsSalebuyall.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 采购单合计对象 goods_salebuyall
 *
 * @author qh
 * @date 2024-08-09
 */
public class GoodsSalebuyall extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private String id;

    /**
     * 销售类别 (1:零散销售; 2:项目销售)
     */
    @Excel(name = "销售类别 (1:零散销售; 2:项目销售)")
    private String type;

    /**
     * 产品id
     */
    @Excel(name = "产品id")
    private String goodsId;

    /**
     * 产品名称
     */
    @Excel(name = "产品名称")
    private String goodsName;

    /**
     * 产品规格明细
     */
    @Excel(name = "产品规格明细")
    private String goodsBrand;

    /**
     * 产品型号
     */
    @Excel(name = "产品型号")
    private String goodModel;

    /**
     * 销售单价（订单单价）
     */
    @Excel(name = "销售单价", readConverterExp = "订=单单价")
    private BigDecimal goodsUnitPrice;

    /**
     * 销售数量
     */
    @Excel(name = "销售数量")
    private BigDecimal goodsCount;

    /**
     * 总价（订单总价）
     */
    @Excel(name = "总价", readConverterExp = "订=单总价")
    private BigDecimal goodsTotalPrice;


    /**
     * 成本单价
     */
    @Excel(name = "成本单价")
    private BigDecimal goodsBuyPrice;

    /**
     * 不含税单价
     */
    @Excel(name = "不含税单价")
    private BigDecimal goodsBuyPriceNoTax;

    /**
     * 成本金额（总成本价）
     */
    @Excel(name = "成本金额", readConverterExp = "总成本价")
    private BigDecimal goodsBuyTotal;

    /**
     * 不含税总价
     */
    @Excel(name = "不含税总价", readConverterExp = "不含税总价")
    private BigDecimal goodsBuyTotalNoTax;


    /**
     * 销售利润
     */
    @Excel(name = "销售利润")
    private BigDecimal goodsProfit;

    /**
     * 销售日期
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "销售日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date saleDate;

    /**
     * 供应商
     */
    @Excel(name = "供应商")
    private String supplierId;

    /**
     * 供应商名称
     */
    @Excel(name = "供应商名称")
    private String supplierName;

    /**
     * 客户
     */
    @Excel(name = "客户")
    private String customerId;

    /**
     * 客户名称
     */
    @Excel(name = "客户名称")
    private String customerName;

    /**
     * 销售人
     */
    @Excel(name = "销售人")
    private String saleId;

    /**
     * 销售人姓名
     */
    @Excel(name = "销售人姓名")
    private String saleName;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    /**
     * 订单编号
     */
    @Excel(name = "订单编号")
    private String projectId;

    /**
     * 订单名称
     */
    @Excel(name = "订单名称")
    private String projectName;

    /**
     * $column.columnComment
     */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String status;

    /**
     * 部门ID
     */
    @Excel(name = "部门ID")
    private String deptId;

    /**
     * 部门名称
     */
    @Excel(name = "部门名称")
    private String deptName;

    /**
     * 请购数量
     */
    @Excel(name = "请购数量")
    private BigDecimal counts;

    /**
     * 剩余数量
     */
    @Excel(name = "剩余数量")
    private BigDecimal shengyu;

    /**
     * 是否发货
     */
    @Excel(name = "是否发货")
    private String isfahuo;

    /**
     * 发货时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date fahuoDate;

    /**
     * 产品编码
     */
    @Excel(name = "产品编码")
    private String goodsCode;

    /**
     * 吨位
     */
    @Excel(name = "吨位")
    private BigDecimal dun;

    /**
     * 单据号
     */
    @Excel(name = "单据号")
    private String nos;

    /**
     * 是否自制(1:自制; 2:请购; 3:外协)
     */
    @Excel(name = "是否自制(1:自制; 2:请购; 3:外协)")
    private String isdo;

    /**
     * 采购单id
     */
    @Excel(name = "采购单id")
    private String mainId;

    /**
     * 请购单id
     */
    @Excel(name = "请购单id")
    private String qinggouId;

    private String unit;

    /** * 行号 */
    private String bankNo;
    /**
     * 账号
     */
    private String accountNo;
    /**
     * 开户行
     */
    private String bankName;
    private BigDecimal dingjin;

    private BigDecimal shippingFee;

    private String goodsType;
    private String daohuoId;
    private String daohuono;


    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date rukudate;
    private String rukuren;

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date zhijianDate;
    private String zhijianName;
    private String isZhijian;
    private String rukuno;

    private String caigouno;
    private String fapiaoId;
    private String fapiaono;
    private String dakuanId;
    private String dakuanno;
    // @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private String dakuandate;
    private String zhijiandan;

    /** * 到货数量 */
    private BigDecimal daohuoCount;

    /** * 剩余到货数量 */
    private BigDecimal shengyuDaohuoCount;

    /** * 本次到货数量 */
    private BigDecimal daohuoCountTemp;

    /** * 到货重量 */
    private BigDecimal daohuoDun;

    /** * 剩余到货数量 */
    private BigDecimal shengyuDaohuoDun;

    /** * 本次到货重量 */
    private BigDecimal daohuoDunTemp;

    /** * 到货状态 */
    private String daohuoStatus;
    private String goodsSaleId;
    private String projectNo;

    private String tuihuoType;
    private String caigouId;
    private String buyAllId;
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date ddDate;
    private String ywType;

    /** * 是否付款跟货物合并  */
    private String depositMerge;

    /** 更改产品状态  */
    private String changeStatus;

    private BigDecimal daohuoMoney;

    public BigDecimal getDaohuoMoney() {
        return daohuoMoney;
    }

    /** 申请金额  */
    private BigDecimal applyMoney;

    /** 申请剩余金额  */
    private BigDecimal applyRemain;

    /** 购买人  */
    private String buyer;


    /** 入库明细id  */
    private String rukumingxiId;

    /** 税率  */
    private BigDecimal taxRate;

    /** 单重  */
    private BigDecimal singleWeight;



    public BigDecimal getTaxRate() {
        return taxRate;
    }

    public void setTaxRate(BigDecimal taxRate) {
        this.taxRate = taxRate;
    }

    public BigDecimal getSingleWeight() {
        return singleWeight;
    }

    public void setSingleWeight(BigDecimal singleWeight) {
        this.singleWeight = singleWeight;
    }

    public BigDecimal getGoodsBuyPriceNoTax() {
        return goodsBuyPriceNoTax;
    }

    public void setGoodsBuyPriceNoTax(BigDecimal goodsBuyPriceNoTax) {
        this.goodsBuyPriceNoTax = goodsBuyPriceNoTax;
    }

    public BigDecimal getGoodsBuyTotalNoTax() {
        return goodsBuyTotalNoTax;
    }

    public void setGoodsBuyTotalNoTax(BigDecimal goodsBuyTotalNoTax) {
        this.goodsBuyTotalNoTax = goodsBuyTotalNoTax;
    }

    public String getRukumingxiId() {
        return rukumingxiId;
    }

    public void setRukumingxiId(String rukumingxiId) {
        this.rukumingxiId = rukumingxiId;
    }

    public String getBuyer() {
        return buyer;
    }

    public void setBuyer(String buyer) {
        this.buyer = buyer;
    }

    public BigDecimal getApplyMoney() {
        return applyMoney;
    }

    public void setApplyMoney(BigDecimal applyMoney) {
        this.applyMoney = applyMoney;
    }

    public BigDecimal getApplyRemain() {
        return applyRemain;
    }

    public void setApplyRemain(BigDecimal applyRemain) {
        this.applyRemain = applyRemain;
    }

    public void setDaohuoMoney(BigDecimal daohuoMoney) {
        this.daohuoMoney = daohuoMoney;
    }

    public String getChangeStatus() {
        return changeStatus;
    }

    public void setChangeStatus(String changeStatus) {
        this.changeStatus = changeStatus;
    }
    public String getDepositMerge() {
        return depositMerge;
    }

    public void setDepositMerge(String depositMerge) {
        this.depositMerge = depositMerge;
    }

    public String getYwType() {
        return ywType;
    }

    public void setYwType(String ywType) {
        this.ywType = ywType;
    }

    public Date getDdDate() {
        return ddDate;
    }

    public void setDdDate(Date ddDate) {
        this.ddDate = ddDate;
    }

    public String getCaigouId() {
        return caigouId;
    }

    public void setCaigouId(String caigouId) {
        this.caigouId = caigouId;
    }

    public String getBuyAllId() {
        return buyAllId;
    }

    public void setBuyAllId(String buyAllId) {
        this.buyAllId = buyAllId;
    }

    public String getTuihuoType() {
        return tuihuoType;
    }

    public void setTuihuoType(String tuihuoType) {
        this.tuihuoType = tuihuoType;
    }

    public String getGoodsSaleId() {
        return goodsSaleId;
    }

    public void setGoodsSaleId(String goodsSaleId) {
        this.goodsSaleId = goodsSaleId;
    }

    public String getGoodsCode() {
        return goodsCode;
    }

    public void setGoodsCode(String goodsCode) {
        this.goodsCode = goodsCode;
    }

    public String getProjectNo() {
        return projectNo;
    }

    public void setProjectNo(String projectNo) {
        this.projectNo = projectNo;
    }

    public String getGoodsType() {
        return goodsType;
    }

    public void setGoodsType(String goodsType) {
        this.goodsType = goodsType;
    }

    public String getZhijiandan() {
        return zhijiandan;
    }

    public void setZhijiandan(String zhijiandan) {
        this.zhijiandan = zhijiandan;
    }

    public String getCaigouno() {
        return caigouno;
    }

    public void setCaigouno(String caigouno) {
        this.caigouno = caigouno;
    }

    public String getFapiaoId() {
        return fapiaoId;
    }

    public void setFapiaoId(String fapiaoId) {
        this.fapiaoId = fapiaoId;
    }

    public String getFapiaono() {
        return fapiaono;
    }

    public void setFapiaono(String fapiaono) {
        this.fapiaono = fapiaono;
    }

    public String getDakuanId() {
        return dakuanId;
    }

    public void setDakuanId(String dakuanId) {
        this.dakuanId = dakuanId;
    }

    public String getDakuanno() {
        return dakuanno;
    }

    public void setDakuanno(String dakuanno) {
        this.dakuanno = dakuanno;
    }

    public String getDakuandate() {
        return dakuandate;
    }

    public void setDakuandate(String dakuandate) {
        this.dakuandate = dakuandate;
    }

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date daohuodate;

    public String getRukuno() {
        return rukuno;
    }

    public void setRukuno(String rukuno) {
        this.rukuno = rukuno;
    }

    public Date getRukudate() {
        return rukudate;
    }

    public void setRukudate(Date rukudate) {
        this.rukudate = rukudate;
    }

    public String getRukuren() {
        return rukuren;
    }

    public void setRukuren(String rukuren) {
        this.rukuren = rukuren;
    }

    public Date getDaohuodate() {
        return daohuodate;
    }

    public void setDaohuodate(Date daohuodate) {
        this.daohuodate = daohuodate;
    }

    public Date getZhijianDate() {
        return zhijianDate;
    }

    public void setZhijianDate(Date zhijianDate) {
        this.zhijianDate = zhijianDate;
    }

    public String getZhijianName() {
        return zhijianName;
    }

    public void setZhijianName(String zhijianName) {
        this.zhijianName = zhijianName;
    }

    public String getIsZhijian() {
        return isZhijian;
    }

    public void setIsZhijian(String isZhijian) {
        this.isZhijian = isZhijian;
    }

    public String getDaohuono() {
        return daohuono;
    }

    public void setDaohuono(String daohuono) {
        this.daohuono = daohuono;
    }

    public String getDaohuoId() {
        return daohuoId;
    }

    public void setDaohuoId(String daohuoId) {
        this.daohuoId = daohuoId;
    }

    public String getBankNo() {
        return bankNo;
    }

    public void setBankNo(String bankNo) {
        this.bankNo = bankNo;
    }

    public String getAccountNo() {
        return accountNo;
    }

    public void setAccountNo(String accountNo) {
        this.accountNo = accountNo;
    }

    public String getBankName() {
        return bankName;
    }

    public void setBankName(String bankName) {
        this.bankName = bankName;
    }

    public BigDecimal getDingjin() {
        return dingjin;
    }

    public void setDingjin(BigDecimal dingjin) {
        this.dingjin = dingjin;
    }

    public BigDecimal getShippingFee() {
        return shippingFee;
    }

    public void setShippingFee(BigDecimal shippingFee) {
        this.shippingFee = shippingFee;
    }

    private List<GoodsSalebuyall> columns;

    public List<GoodsSalebuyall> getColumns() {
        return columns;
    }

    public void setColumns(List<GoodsSalebuyall> columns) {
        this.columns = columns;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getType() {
        return type;
    }

    public void setGoodsId(String goodsId) {
        this.goodsId = goodsId;
    }

    public String getGoodsId() {
        return goodsId;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsBrand(String goodsBrand) {
        this.goodsBrand = goodsBrand;
    }

    public String getGoodsBrand() {
        return goodsBrand;
    }

    public void setGoodModel(String goodModel) {
        this.goodModel = goodModel;
    }

    public String getGoodModel() {
        return goodModel;
    }

    public void setGoodsUnitPrice(BigDecimal goodsUnitPrice) {
        this.goodsUnitPrice = goodsUnitPrice;
    }

    public BigDecimal getGoodsUnitPrice() {
        return goodsUnitPrice;
    }

    public void setGoodsCount(BigDecimal goodsCount) {
        this.goodsCount = goodsCount;
    }

    public BigDecimal getGoodsCount() {
        return goodsCount;
    }

    public void setGoodsTotalPrice(BigDecimal goodsTotalPrice) {
        this.goodsTotalPrice = goodsTotalPrice;
    }

    public BigDecimal getGoodsTotalPrice() {
        return goodsTotalPrice;
    }

    public void setGoodsBuyPrice(BigDecimal goodsBuyPrice) {
        this.goodsBuyPrice = goodsBuyPrice;
    }

    public BigDecimal getGoodsBuyPrice() {
        return goodsBuyPrice;
    }

    public void setGoodsBuyTotal(BigDecimal goodsBuyTotal) {
        this.goodsBuyTotal = goodsBuyTotal;
    }

    public BigDecimal getGoodsBuyTotal() {
        return goodsBuyTotal;
    }

    public void setGoodsProfit(BigDecimal goodsProfit) {
        this.goodsProfit = goodsProfit;
    }

    public BigDecimal getGoodsProfit() {
        return goodsProfit;
    }

    public void setSaleDate(Date saleDate) {
        this.saleDate = saleDate;
    }

    public Date getSaleDate() {
        return saleDate;
    }

    public void setSupplierId(String supplierId) {
        this.supplierId = supplierId;
    }

    public String getSupplierId() {
        return supplierId;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setSaleId(String saleId) {
        this.saleId = saleId;
    }

    public String getSaleId() {
        return saleId;
    }

    public void setSaleName(String saleName) {
        this.saleName = saleName;
    }

    public String getSaleName() {
        return saleName;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setProjectId(String projectId) {
        this.projectId = projectId;
    }

    public String getProjectId() {
        return projectId;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }

    public void setDeptId(String deptId) {
        this.deptId = deptId;
    }

    public String getDeptId() {
        return deptId;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setCounts(BigDecimal counts) {
        this.counts = counts;
    }

    public BigDecimal getCounts() {
        return counts;
    }

    public void setShengyu(BigDecimal shengyu) {
        this.shengyu = shengyu;
    }

    public BigDecimal getShengyu() {
        return shengyu;
    }

    public void setIsfahuo(String isfahuo) {
        this.isfahuo = isfahuo;
    }

    public String getIsfahuo() {
        return isfahuo;
    }

    public void setFahuoDate(Date fahuoDate) {
        this.fahuoDate = fahuoDate;
    }

    public Date getFahuoDate() {
        return fahuoDate;
    }

    public void setDun(BigDecimal dun) {
        this.dun = dun;
    }

    public BigDecimal getDun() {
        return dun;
    }

    public void setNos(String nos) {
        this.nos = nos;
    }

    public String getNos() {
        return nos;
    }

    public void setIsdo(String isdo) {
        this.isdo = isdo;
    }

    public String getIsdo() {
        return isdo;
    }

    public void setMainId(String mainId) {
        this.mainId = mainId;
    }

    public String getMainId() {
        return mainId;
    }

    public void setQinggouId(String qinggouId) {
        this.qinggouId = qinggouId;
    }

    public String getQinggouId() {
        return qinggouId;
    }

    public BigDecimal getDaohuoCount() {
        return daohuoCount;
    }

    public void setDaohuoCount(BigDecimal daohuoCount) {
        this.daohuoCount = daohuoCount;
    }

    public BigDecimal getShengyuDaohuoCount() {
        return shengyuDaohuoCount;
    }

    public void setShengyuDaohuoCount(BigDecimal shengyuDaohuoCount) {
        this.shengyuDaohuoCount = shengyuDaohuoCount;
    }

    public String getDaohuoStatus() {
        return daohuoStatus;
    }

    public void setDaohuoStatus(String daohuoStatus) {
        this.daohuoStatus = daohuoStatus;
    }

    public BigDecimal getDaohuoCountTemp() {
        return daohuoCountTemp;
    }

    public void setDaohuoCountTemp(BigDecimal daohuoCountTemp) {
        this.daohuoCountTemp = daohuoCountTemp;
    }

    public BigDecimal getDaohuoDun() {
        return daohuoDun;
    }

    public void setDaohuoDun(BigDecimal daohuoDun) {
        this.daohuoDun = daohuoDun;
    }

    public BigDecimal getShengyuDaohuoDun() {
        return shengyuDaohuoDun;
    }

    public void setShengyuDaohuoDun(BigDecimal shengyuDaohuoDun) {
        this.shengyuDaohuoDun = shengyuDaohuoDun;
    }

    public BigDecimal getDaohuoDunTemp() {
        return daohuoDunTemp;
    }

    public void setDaohuoDunTemp(BigDecimal daohuoDunTemp) {
        this.daohuoDunTemp = daohuoDunTemp;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("type", getType())
                .append("goodsId", getGoodsId())
                .append("goodsName", getGoodsName())
                .append("goodsBrand", getGoodsBrand())
                .append("goodModel", getGoodModel())
                .append("goodsUnitPrice", getGoodsUnitPrice())
                .append("goodsCount", getGoodsCount())
                .append("goodsTotalPrice", getGoodsTotalPrice())
                .append("goodsBuyPrice", getGoodsBuyPrice())
                .append("goodsBuyTotal", getGoodsBuyTotal())
                .append("goodsProfit", getGoodsProfit())
                .append("saleDate", getSaleDate())
                .append("supplierId", getSupplierId())
                .append("supplierName", getSupplierName())
                .append("customerId", getCustomerId())
                .append("customerName", getCustomerName())
                .append("saleId", getSaleId())
                .append("saleName", getSaleName())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .append("projectId", getProjectId())
                .append("projectName", getProjectName())
                .append("status", getStatus())
                .append("deptId", getDeptId())
                .append("deptName", getDeptName())
                .append("counts", getCounts())
                .append("shengyu", getShengyu())
                .append("isfahuo", getIsfahuo())
                .append("fahuoDate", getFahuoDate())
                .append("goodsCode", getGoodsCode())
                .append("dun", getDun())
                .append("nos", getNos())
                .append("isdo", getIsdo())
                .append("mainId", getMainId())
                .append("qinggouId", getQinggouId())
                .toString();
    }
}
